
package com.zed.api.persistence.core;

import com.zed.api.persistence.core.util.MapVariableReplacer;

import java.util.Map;

/**
 * {@link VariableReplacer}, 提供将字符串中的${变量}替换为特定的值.
 * @author  Zed
 *
 */
public interface VariableReplacer {

	/**
	 * 查找并且替换{@code text}中的变量
	 * @param text {@link String},文本
	 * @return {@link String}
	 */
	String findAndReplace(String text);
	
	/**
	 * 使用{@code variables}创建{@link VariableReplacer}实例
	 * @param variables {@link Map},变量
	 * @return {@link VariableReplacer}
	 */
	static VariableReplacer createVariableReplacer(Map<String, String> variables) {
		return new MapVariableReplacer(variables);
	}
}
